GtkThemingEngine: Use GtkSymbolicColor for shades.
authorCarlos Garnacho <carlosg@gnome.org>
Sat, 6 Nov 2010 11:38:52 +0000 (12:38 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:38:41 +0000 (15:38 +0100)
gtk/gtkthemingengine.c

index 968656fab103eb12624bc41a7002c72d3b0370b0..583e87e1629d2b3f0a19759ded49d2127c6989ae 100644 (file)
@@ -1235,10 +1235,14 @@ color_shade (const GdkRGBA *color,
              gdouble        factor,
              GdkRGBA       *color_return)
 {
-  color_return->red = CLAMP (color->red * factor, 0, 1);
-  color_return->green = CLAMP (color->green * factor, 0, 1);
-  color_return->blue = CLAMP (color->blue * factor, 0, 1);
-  color_return->alpha = color->alpha;
+  GtkSymbolicColor *literal, *shade;
+
+  literal = gtk_symbolic_color_new_literal (color);
+  shade = gtk_symbolic_color_new_shade (literal, factor);
+  gtk_symbolic_color_unref (literal);
+
+  gtk_symbolic_color_resolve (shade, NULL, color_return);
+  gtk_symbolic_color_unref (shade);
 }
 
 static void